package agenceVoyageVirtuel.client.rpc;

import java.util.List;

import agenceVoyageVirtuel.client.beans.AdresseData;
import agenceVoyageVirtuel.client.beans.ApparenceData;
import agenceVoyageVirtuel.client.beans.AvatarData;
import agenceVoyageVirtuel.client.beans.CarteData;
import agenceVoyageVirtuel.client.beans.ClientData;
import agenceVoyageVirtuel.client.beans.CommandeData;
import agenceVoyageVirtuel.client.beans.EpoqueData;
import agenceVoyageVirtuel.client.beans.MetierData;
import agenceVoyageVirtuel.client.beans.OptionData;
import agenceVoyageVirtuel.client.beans.PackData;
import agenceVoyageVirtuel.client.beans.SexeData;
import agenceVoyageVirtuel.client.beans.SouvenirData;
import agenceVoyageVirtuel.client.beans.VoyageData;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

/**
 * The client side stub for the RPC service.
 */
@RemoteServiceRelativePath("rpcService")
public interface RpcCallService extends RemoteService {
	//Compte client
	public void creerClient(ClientData client);
	public ClientData isAuthentifie(String email, String password);
	public List<CommandeData> getHistoriqueCommandes(int idClient);
	//Listes globales
	public List<PackData> getPacks();
	public List<ApparenceData> getApparences();
	public List<EpoqueData> getEpoques();
	public List<MetierData> getMetiers();
	public List<OptionData> getOptions();
	public List<SexeData> getSexes();
	public List<SouvenirData> getSouvenirs();
	public List<VoyageData> getVoyages();
	//Listes d'aide
	public List<AdresseData> getAdressesUtilisees(ClientData clientCourant);
	public List<CarteData> getCartesUtilisees(ClientData clientCourant);
	public List<AvatarData> getAvatarsUtilisees(ClientData clientCourant);
	//Commande
	public void creerCarte(CarteData carte);
	public void creerAdresse(AdresseData adresse);
	public void creerAvatar(AvatarData avatar);
	public void commander (CommandeData commandeEnCours);
	//Administration
	public void creerApparence(String nouvelleApparence);
	public void creerEpoque(String nouvelleEpoque);
	public void creerOption(String nouvelleOption, int tarifOption);
	public void creerSouvenir(String nouveauSouvenir, String descriptionSouvenir, int tarifSouvenir);
	public void creerSexe(String nouveauSexe);
	public void creerVoyage(String nouveauVoyage, boolean reel, int tarifVoyage, String nomImage);
}
